package com.huaxin.hxmoduleworkorder.dto.request;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

/**
 * 更新巡查模板与检查项关联请求 DTO（包含 ID）
 * <p>
 * 对应实体类：InspectionTemplateItemRel
 * 用于更新模板与检查项的关联关系（如调整排序）。
 * 包含主键 ID，适用于自包含请求体的更新场景。
 * 使用 jakarta.validation 进行参数校验。
 * </p>
 *
 * @author [你的名字或团队]
 * @since 2025-09-02
 */
@Data
public class InspectionTemplateItemRelUpdateReqDTO {
    @Schema(description = "关联关系ID，主键，用于定位更新目标", example = "rel_123")
    @NotBlank(message = "关联关系ID不能为空")
    private String id;

    @Schema(description = "模板ID，关联的模板", example = "tpl_ins_001")
    private String templateId;

    @Schema(description = "模板项ID，被引用的检查项", example = "item_001")
    @NotBlank(message = "模板项ID不能为空")
    private String templateItemId;

    @Schema(description = "配电箱类型")
    private String cabinetType;

    @Schema(description = "在该模板中的排序序号", example = "1")
    @NotNull(message = "排序序号不能为空")
    private Integer sortOrder;
}